package ec.edu.ucacue.siop.proceso.calculoBorrar;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class CargadorDatosCalidad {
	private List<ContMensualVariable> listaVariables = new ArrayList<ContMensualVariable>();
	private String error;

	public List<ContMensualVariable> getListaVariables() {
		return listaVariables;
	}

	public void setListaVariables(List<ContMensualVariable> listaVariables) {
		this.listaVariables = listaVariables;
	}

	public String getError() {
		return error;
	}

	public void setError(String error) {
		this.error = error;
	}
	

	public boolean cargarMes(String directorio, int filaInicio, int filaFinal, int colInicio, int colFinal) {
		for(int i=0; i<filaFinal-filaInicio+1; i++) {
			listaVariables.add(new ContMensualVariable());
		}
		File direc = new File(directorio);
		String[] listadoArchivos = direc.list();
		ordenar(listadoArchivos);
		LectorHojaExcelCalidad lector = new LectorHojaExcelCalidad();
		for(int i=0; i<listadoArchivos.length; i++) {
			if(lector.leer(directorio+"/"+listadoArchivos[i], filaInicio, filaFinal, colInicio, colFinal)){
				List<Cont24horas> listaMes = lector.getListaFila();
				for(int j=0;j<listaMes.size();j++) {
					listaVariables.get(j).getValorDia().add(listaMes.get(j));
				}
			}
			else{
				error = "Archivo" +listadoArchivos[i] +" " +lector.getError();
				return false;
				
			}
		}
	
		return true;
		
	}

	private void ordenar(String[] listadoArchivos) {
		for(int i=0; i<listadoArchivos.length-1;i++) {
			
			for(int j=i+1; j<listadoArchivos.length; j++) {
				if(listadoArchivos[i].compareTo(listadoArchivos[j]) > 0) {
					String aux = listadoArchivos[i];
					listadoArchivos[i] = listadoArchivos[j];
					listadoArchivos[j] = aux;
				}
			}
		}
		
	}
	
}
